package com.servitware.cardio.domain;

import java.util.Date;

import com.servitware.core.id.base.InvalidIdException;
import com.servitware.core.id.base.InvalidNameException;
import com.servitware.crm.Persona;
import com.servitware.crm.cliente.Cliente;

public class ClienteDirectoUsuario extends Persona
{
	private static final long serialVersionUID = 3972020077279650584L;

	private Cliente cliente = null;
	private Centro centro = null;
	
	private Integer status = null;
	private Date fechaRegistroDate = null;
	private String email;
	private String key;

	public ClienteDirectoUsuario()
	{
		super();
	}

	public ClienteDirectoUsuario( Integer id, String nombre, String apellido, Centro centro) throws InvalidIdException, InvalidNameException
	{
		super(id, nombre);
		super.setPrimerApellido(apellido);
		this.centro=centro;
	}

	
	@Override
	public int hashCode()
	{
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result + ((centro == null) ? 0 : centro.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj)
	{
		if (this == obj)
			return true;
		if (!super.equals(obj))
			return false;
		if (getClass() != obj.getClass())
			return false;
		ClienteDirectoUsuario other = (ClienteDirectoUsuario) obj;
		if (centro == null)
		{
			if (other.centro != null)
				return false;
		}
		else if (!centro.equals(other.centro))
			return false;
		return true;
	}


	public Centro getCentro()
	{
		return centro;
	}

	public void setCentro(Centro centro)
	{
		this.centro = centro;
	}


	public Cliente getCliente()
	{
		return cliente;
	}


	public void setCliente(Cliente cliente)
	{
		this.cliente = cliente;
	}


	public Integer getStatus()
	{
		return status;
	}


	public void setStatus(Integer status)
	{
		this.status = status;
	}


	public Date getFechaRegistroDate()
	{
		return fechaRegistroDate;
	}


	public void setFechaRegistroDate(Date fechaRegistroDate)
	{
		this.fechaRegistroDate = fechaRegistroDate;
	}


	public String getEmail()
	{
		return email;
	}


	public void setEmail(String email)
	{
		this.email = email;
	}


	public void setKey(String key)
	{
		this.key = key;
	}


	public String getKey()
	{
		return key;
	}

	
}
